/*
 * Copyright (c) 2022.版权所有高金磊
 */

package 领扣算法.A简单题.矩阵中的幸运数;

import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;

public class Main {
    public List<Integer> luckyNumbers (int[][] matrix) {
        int rows[]=new int[matrix.length];
        Arrays.fill(rows, Integer.MAX_VALUE);
        int cels[]=new int[matrix[0].length];
        Arrays.fill(cels, Integer.MIN_VALUE);
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                rows[i]=Math.min(rows[i],matrix[i][j]);
                cels[j]=Math.max(cels[j],matrix[i][j]);
            }
        }
        HashSet<Integer> data=new HashSet<>();
        for (int cel : cels) {
            data.add(cel);
        }
        LinkedList<Integer> res=new LinkedList<>();
        for (int row : rows) {
            if (data.contains(row)){
                res.addLast(row);
            }
        }
        return res;
    }
}
